package com.aidex.storage.domain;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.aidex.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.aidex.common.utils.log.annotation.FieldRemark;
import com.aidex.common.utils.log.annotation.LogField;
import com.aidex.common.annotation.Excel;

/**
 * 入库信息对象 bus_in_storage
 * @author cq
 * @email 382425530@qq.com
 * @date 2023-06-20
 */
@Data
public class BusInStorage extends BaseEntity<BusInStorage>
{
    private static final long serialVersionUID = 1L;

    /** 采购单编号 */
    @Excel(name = "采购单编号")
    @NotBlank(message = "采购单编号不允许为空")
    @LogField
    @FieldRemark(name = "采购单编号",field = "purchaseId")
    private String purchaseId;

    /** 入库数量 */
    @Excel(name = "入库数量")
    @NotBlank(message = "入库数量不允许为空")
    @LogField
    @FieldRemark(name = "入库数量",field = "count")
    private String count;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    @LogField
    @FieldRemark(name = "仓库名称",field = "warehouseName")
    private String warehouseName;

    /** 仓库id */
    private String warehouseId;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    @LogField
    @FieldRemark(name = "入库时间",field = "storageTime")
    private Date storageTime;

    /** 入库时间开始 */
    private String beginStorageTime;

    /** 入库时间结束 */
    private String endStorageTime;
	
    public void setPurchaseId(String purchaseId) 
    {
        this.purchaseId = purchaseId;
    }

    public String getPurchaseId() 
    {
        return purchaseId;
    }

    public void setCount(String count) 
    {
        this.count = count;
    }

    public String getCount() 
    {
        return count;
    }

    public void setWarehouseName(String warehouseName) 
    {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() 
    {
        return warehouseName;
    }

    public void setWarehouseId(String warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseId() 
    {
        return warehouseId;
    }

    public void setStorageTime(Date storageTime) 
    {
        this.storageTime = storageTime;
    }

    public Date getStorageTime() 
    {
        return storageTime;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("purchaseId", getPurchaseId())
            .append("count", getCount())
            .append("warehouseName", getWarehouseName())
            .append("warehouseId", getWarehouseId())
            .append("storageTime", getStorageTime())
            .append("remark", getRemark())
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createDept", getCreateDept())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("updateIp", getUpdateIp())
            .append("version", getVersion())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
